1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | (************************************ACTIVATION DU BUS CAN*************************) Activation_BUS_CAN_HYDAC( xEnable:= Activation_CAN_HYDAC, xError=> Error_BUS_CAN, eDiagInfo=> Retour_Para_CAN_HYDAC, eChannel:= Channel_CAN_HYDAC, eBaudrate:= 250); (***********************************************************************************************************************************************) (*************************************DEMANDE MODE CALIBRATION *********************************************************************************) IF (demande_calibration = 1) THEN TAB_TRANSMIT_HYDAC[0].4 := 1; TAB_TRANSMIT_HYDAC[0].5 := 0; ELSIF (demande_calibration = 2) THEN TAB_TRANSMIT_HYDAC[0].4 := 0; TAB_TRANSMIT_HYDAC[0].5 := 1; TAB_TRANSMIT_HYDAC[0].4 := 0; TAB_TRANSMIT_HYDAC[0].5 := 0; (***********************************************************************************************************************************************) IF (demande_validation_calibration = 1) THEN TAB_TRANSMIT_HYDAC[0].6 := 1; TAB_TRANSMIT_HYDAC[0].7 := 0; ELSIF (demande_validation_calibration = 2) THEN TAB_TRANSMIT_HYDAC[0].6 := 0; TAB_TRANSMIT_HYDAC[0].7 := 1; ELSE END_IF (*************************************CONSIGNE BRAQUAGE*******************************************************************************) TAB_TRANSMIT_HYDAC[2] := WORD_TO_BYTE(consigne_braquage); (*************************************CONSIGNE VITESSE LINEAIRE******************************************************************************) TAB_TRANSMIT_HYDAC[4] := WORD_TO_BYTE(valeur_absolu_vitesse); (*************************************TRAME******************************************************************************) Raw_capt_gauche := USINT_TO_WORD(Tab_reception_304_hydac[0]) + USINT_TO_WORD(Tab_reception_304_hydac[1]) * 256; Real_capt_gauche := USINT_TO_WORD(Tab_reception_304_hydac[4]) + USINT_TO_WORD(Tab_reception_304_hydac[5]) * 256; Retour_calibre_capt_gauche := USINT_TO_WORD(Tab_reception_305_hydac[0]) + USINT_TO_WORD(Tab_reception_305_hydac[1]) * 256; Retour_delta_calcule := USINT_TO_WORD(Tab_reception_305_hydac[4]) + USINT_TO_WORD(Tab_reception_305_hydac[5]) * 256; ELSIF (Tab_reception_305_hydac[6].0 = 0) AND (Tab_reception_305_hydac[6].1 = 1) THEN Retour_signe_valeur_calibre_gauche := 2; Retour_signe_valeur_calibre_gauche := 0; ELSIF (Tab_reception_305_hydac[6].2 = 0) AND (Tab_reception_305_hydac[6].3 = 1) Reception_trame_hydac_306( eDiagInfo=> Retour_error_reception_hydac_306, udiID:= 16#306); IF Tab_reception_306_hydac[0].0 = TRUE AND Tab_reception_306_hydac[0].1 = FALSE THEN retour_signe_delta_calcule := TRUE; retour_EV_direction_pilote := BOOL_TO_USINT(Tab_reception_306_hydac[0].2) + BOOL_TO_USINT(Tab_reception_306_hydac[0].3) * 2; IF Tab_reception_306_hydac[0].4 = TRUE AND Tab_reception_306_hydac[0].5 = FALSE THEN retour_mode_calibration := TRUE; IF Tab_reception_306_hydac[0].6 = TRUE AND Tab_reception_306_hydac[0].7 = FALSE THEN Demande_pilotage_groupe_hydraulique := TRUE; Retour_nombre_calibration := USINT_TO_WORD(Tab_reception_306_hydac[1]) + USINT_TO_WORD(Tab_reception_306_hydac[2]) * 256; Reour_numero_premier_alarme_active := Tab_reception_306_hydac[3]; {a9ed5b7e-75c5-4651-af16-d2c27e98cb94} VAR_INPUT Activation_CAN_HYDAC: BOOL; demande_direction_electrohydraulique: BYTE; valeur_absolu_vitesse: WORD; signe_consigne_angle_braquage: BYTE; //1 = Gauche 2 = Droite demande_validation_calibration: BYTE; END_VAR Retour_Para_CAN_HYDAC: ifmTypes.DIAG_INFO; Retour_error_reception_hydac_304: ifmTypes.DIAG_INFO; Retour_error_reception_hydac_306: ifmTypes.DIAG_INFO; Error_transmit_hydac: BOOL; Error_reception_hydac_305: BOOL; Raw_capt_gauche: WORD; Real_capt_gauche: WORD; Retour_calibre_capt_gauche: WORD; Retour_delta_calcule: WORD; Retour_signe_valeur_calibre_droit: BYTE; retour_EV_direction_pilote: USINT; Retour_nombre_calibration: WORD; Demande_pilotage_groupe_hydraulique:BOOL; Activation_BUS_CAN_HYDAC: ifmRCAN.CAN_Enable; Reception_trame_hydac_304: ifmRCAN.CAN_Rx; Reception_trame_hydac_306: ifmRCAN.CAN_Rx; TAB_TRANSMIT_HYDAC: ARRAY [0..7] OF USINT; Tab_reception_305_hydac: ARRAY [0..7] OF USINT; Go_100ms: BOOL; |